home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Turnbull China Bikeride
/
Turnbull China Bikeride - Disc 1.iso
/
ARGONET
/
PD
/
GRAPHICS
/
POV302.ZIP
/
pov302
/
povscn
/
level3
/
pov
/
wg6
< prev
Wrap
Text File
|
1995-11-08
|
5KB
|
257 lines
// Persistence Of Vision raytracer version 3.0 sample file.
// File by Dan Farmer
// Wine glass and chessboard
// Updated October, 1996
#version 3.0
global_settings { assumed_gamma 1.0 number_of_waves 3 }
#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
//#include "glass.inc"
#include "metals.inc"
camera {
location <50.0, 55.0, -75.0>
direction z
up y
right x*4/3
look_at <-10.0, 18.0, 0.0>
}
light_source { <10.0, 50.0, 35.0> colour White }
light_source { <-35.0, 30.0, -150.0> colour White }
#declare T_Glass = texture {
pigment { color red 1.0 green 1.0 blue 1.0 filter 0.95 }
finish {
ambient 0.0
diffuse 0.0
reflection 0.1
refraction on
ior 1.51
phong 0.3
phong_size 90
caustics 2
}
}
#declare Wine = color red 1.0 filter 0.85
#declare Liquid = finish {
reflection 0.05
refraction on
ior 1.45
caustics 2
fade_distance 40 // only for this scene
fade_power 1
}
#declare Bead = object {
sphere { <0, 0, 0>, 1 scale <1.65, 0.65, 1.65> }
texture { T_Glass
finish {
fade_distance 1.5 // only for this scene
fade_power 1
}
}
}
#declare Rim =
torus {0.975, 0.025
clipped_by { plane { -y, 0.0 } }
scale <15.0, 10.0, 15.0>
translate 24.0*y
texture {
T_Glass
finish { fade_distance 0.025 fade_power 1 }
}
}
#declare Top = intersection {
plane { y, 1.0 }
object { QCone_Y }
object { QCone_Y scale <0.97, 1.0, 0.97> inverse }
clipped_by { plane { y, 0.0 inverse } }
scale <15.0, 10.0, 15.0>
translate 14.0*y
texture { T_Glass
finish {
fade_distance 1.5 // only for this scene
fade_power 1
}
}
}
#declare Stem =
cylinder { y*3.25, y*14, 1
texture { T_Glass
finish {
fade_distance 1.5 // only for this scene
fade_power 1
}
}
}
#declare Base = object {
QCone_Y
clipped_by {
plane { y, 0.0 }
plane { y, -1.0 inverse }
}
translate 1.0*y /* This actually puts the base of the cone on y=0*/
scale <12.0, 3.25, 12.0>
texture { T_Glass
finish {
fade_distance 3.25 // only for this scene
fade_power 1
}
}
}
#declare Wine2 =
union {
cone { 0, 0, y, 0.95 open
texture {
finish { Liquid }
pigment { Wine }
}
}
disc { y, y, 0.95
texture {
finish { Liquid
specular 1
roughness 0.01
}
pigment { Wine }
normal { onion 0.75 frequency 3 sine_wave turbulence 0.15 }
}
}
scale <14.9, 9.5, 14.9>
translate 14.0*y
texture {
finish { Liquid }
pigment { Wine }
}
}
#declare Frame =
union {
// corners
sphere { <-120, 0, -120>, 4.65 }
sphere { < 120, 0, -120>, 4.65 }
sphere { <-120, 0, 120>, 4.65 }
sphere { < 120, 0, 120>, 4.65 }
object {
Disk_X /* Front rounded edge */
scale <120, 4.65, 4.65>
translate -z*120
}
object {
Disk_Z /* Left rounded edge */
scale <4.65, 4.65, 120>
translate -x*120
}
object {
Disk_X /* Rear rounded edge */
scale <120, 4.65, 4.65>
translate z*120
}
object {
Disk_Z /* Right rounded edge */
scale <4.65, 4.65, 120>
translate x*120
}
texture { Silver_Texture }
}
#declare ChessBoard = object {
Cube
scale <120.0, 4.0, 120.0>
texture {
tiles {
texture {
pigment {
marble
turbulence 1
lambda 2.1
omega 0.707
scale <2, 1, 2>
color_map {
[0.00 rgb 0.975 ]
[0.55 rgb <0.2, 0.25, 0.3>]
[0.75 rgb 0.2 ]
[0.85 rgb 0.5 ]
[1.00 rgb 0.975 ]
}
}
finish { diffuse 1 }
}
tile2
texture {
pigment { Gray10 }
finish { diffuse 1 specular 0.5 roughness 0.025}
}
}
scale <30.0, 4.001, 30.0>
}
}
#declare WineGlass_Without_Wine = merge {
object { Rim }
object { Top }
object { Bead translate 14.5*y }
object { Bead translate 10.0*y }
object { Bead translate 7.0*y }
object { Bead translate 3.0*y }
object { Stem }
object { Base }
scale <1.0, 1.50, 1.0>
}
#declare WineGlass_With_Wine = union {
object { WineGlass_Without_Wine }
object { Wine2
scale <1.0, 1.50, 1.0>
}
}
fog { distance 200 color Black }
/* Ground plane */
plane {
y, 0.0
texture {
pigment { RichBlue }
normal {
quilted 0.45
control0 1 control1 1
scale <0.45, 1, 0.45>
}
}
}
union {
object { Frame }
object { ChessBoard }
translate <0.0, 4.0, 145.0>
}
// How did I figure out those wierd transformations below?
// Well, they'd be less obscure had I created the wine glass properly,
// but since I didn't, I simply put the camera a tiny bit above the
// floorplane and tried various values until it "fit".
object { WineGlass_Without_Wine translate -x*12.15 rotate -z*86.5 }
object { WineGlass_With_Wine translate <0, 0, -20>}